
import { parseHtmlToAst } from './astParser';
import { generate } from './generate'

// 生成render函数
function complieToRenderFunction(html){
    const ast = parseHtmlToAst(html); // 将html解析为ast
    const code = generate(ast); // 将ast生成代码
    // 返回 render函数 通过 with this 绑定 this 让render函数可以访问其他作用域的变量
    const render = new Function(`
        with(this){return ${code}}`)
    return render
}

export {
    complieToRenderFunction
}